package com.flying.oop.poly;


/**
 * @ClassName:
 * @author: flying
 * @date 2024 2024/12/12 09:05
 * @Description: 多态的使用
 */
public class PolyTest {
    public static void main(String[] args) {


        /*
          多态的前提：继承关系
          多态在代码中的体现：父类引用指向了一个子类对象
          多态的意义：
                子类重写（实现）父类的方法，让不同的子类对象调用相同的代码得到不同的结果，提高了代码灵活性

          多态的特点：
                1. 属性与多态无关，编译和运行时都看左边声明的类型
                2. 方法编译时，看等号左边声明的类型，方法运行时，看等号右边对象的具体类型


         */

        Person user = new Student();

        user.setId(1);
        user.setName("百里守约");
        user.setAge(11);

        user.sleep();


        /*
         如果父类空间,是通过创建对象初始化的
         访问属性找父类,调用方法找子类
         如果是静态属性或方法,都找父类
        */

        /*

         */


        Base x=new Sub();
//        Base x = new Base();
    }


}
